package com.xinsoft.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xinsoft.common.Response;
import com.xinsoft.entity.dto.MesProcessPlan2DTO;
import com.xinsoft.entity.dto.MesProcessPlanDTO;
import com.xinsoft.entity.dto.MesProcessPlanParam;
import com.xinsoft.entity.po.MesProcessPlan;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author hsm
* @description 针对表【mes_process_plan(工序计划)】的数据库操作Service
* @createDate 2023-09-13 15:26:38
*/
public interface MesProcessPlanService extends IService<MesProcessPlan> {

    /**
     * 分页
     * @param param
     * @return
     */
    IPage<MesProcessPlanDTO> findPageListByParam(MesProcessPlanParam param);

    /**
     * 合计
     * @param param
     * @return
     */
    MesProcessPlanDTO findTotalByParam(MesProcessPlanParam param);

    /**
     * 获取详情
     * @param id
     * @return
     */
    MesProcessPlanDTO getInfoById(Integer id);

    /**
     * 编辑
     * @param planDTO
     */
    void edit(MesProcessPlanDTO planDTO);

    /**
     * 新增
     * @param planDTO
     */
    void add(MesProcessPlanDTO planDTO);

    /**
     * 删除
     * @param ids
     */
    void del(List<Integer> ids);

    /**
     * 下达
     * @param ids
     */
    Response<?> issuedPlans(List<Integer> ids);

    /**
     * 反下达
     * @param ids
     */
    void reverseIssuedPlan(List<Integer> ids);

    /**
     * 结案
     * @param ids
     */
    void close(List<Integer> ids);

    /**
     * 反结案
     * @param ids
     */
    void reverseClose(List<Integer> ids);
}
